Spread spectrum systems are well known. In a spread spectrum data communication system, the individual data bits are modulated with a code sequence, called a spreading code sequence. The individual bits in the spreading code sequence are called chips. In order to transmit each data bit in a spread spectrum communication system, each individual data bit is first multiplied by the spreading code sequence in an exclusive OR gate.
Thus for example, for a data bit of zero, the spreading code itself is transmitted; while for a data bit of one, the inverse of the spreading code is transmitted. Since the spreading code has a higher clock rate than the data, the resulting signal has a higher frequency content i.e., a higher bandwidth than the original data signal. Specifically, the clock rate of the spread spectrum signal will be higher than that of the input data by the chosen spectrum spreading ratio. Thus, the spread spectrum signal energy content is more dispersed throughout the frequency spectrum. Spread spectrum communication systems are therefore less susceptible to noise and interference as well as have greater resistance to multipath distortion delays.
At the receiver, the spreading code sequence is detected in order to recover the original transmitted data. The general problem in spread spectrum systems is to correlate the received signal with the knowledge of the original spreading code sequence. Detection of the spreading code typically corresponds to the reception of a first logic level, while detection of the inverse of the spreading code corresponds to detection of the opposite logic level. In the prior art, there are many types of code correlators for detecting a received spreading code.
In one prior art approach, the signal is applied to an analog delay line and compared in parallel fashion using programmable analog inverters and adders programmed with a stored version of the spreading code. In operation, the analog delay line tap outputs are inverted or not, according to the spreading sequence in use. When the incoming signal lines up in time with the inverter programming, all outputs will add to produce a one chip long correlation spike. This process is known mathematically a autocorrelation.
The analog delay line, inverters and adders can be combined on a single surface acoustic wave (SAW) device. The latter approach can be costly, especially for small production quantities, and it is difficult to reprogram the SAW for different spreading code sequences. Fully digital correlators are available from such companies as TRW Inc., but they are expensive and use a considerable amount of power.
Another method of correlating the received signal with the original spreading code sequence is to synchronize a local code sequence generator with the incoming signals. In the latter case, considerably less hardware is required. If the received signal is digitized before being applied to the correlator, then a single exclusive OR gate can be used to compare the incoming signal to the output of the local synchronized code generator. The problem then becomes one of synchronizing the local code generator to the code generator in the transmitter. However, sequence synchronization can take many bits to achieve, adding to the overhead needed for the operation of a packet protocol, and in some cases, making existing protocols very difficult to implement.
In these circumstances, it would be desirable to find a spread spectrum technique which offers the low cost of a synchronized receiver, while providing very short synchronization time.